Systems for WORF improvement in conditional servowriting

ABSTRACT

To account for head misplacement while servowriting, conditional writing and/or trimming of servo information can be used. Conditional servowriting allows servowriting to be disabled when it is determined that servo information will not be written and/or trimmed at a desired location or within a threshold distance of a desired location. For example, if a distance between a write element or a predicted location of servo information and a desired location of the servo information or write element exceeds a threshold, writing and/or trimming can be inhibited. Servowriting can be resumed when it is determined that servo information will be written or trimmed at a desired location or within a threshold distance of a desired location. A servowriting step or pass is not re-started when the threshold is exceeded and those wedges for which servo information was not written and/or trimmed can be attempted during subsequent revolutions of the rotatable storage medium. Various methods can also be used to account for servo information that is not written and/or trimmed after a number of revolutions, including increasing threshold(s), writing and/or trimming unconditionally, and re-computing WORF values for a reference disk. Additionally, other techniques including write current variation and individual passes for writing and trimming can be used with various embodiments using conditional writing techniques.

CLAIM OF PRIORITY

This application claims priority to U.S. Provisional Application No.60/489,025 entitled “Systems and Methods for WORF Improvement inMultiple Revolutions in Conditional Servowriting”, filed Jul. 22, 2003.

FIELD OF THE INVENTION

The present invention relates to servowriting processes, systems, anddevices.

BACKGROUND

Advances in data storage technology have provided for ever-increasingstorage capability in devices such as DVD-ROMs, optical drives, and diskdrives. In hard disk drives, for example, the width of a written datatrack has decreased due in part to advances in reading, writing, andpositioning technologies. More narrow data tracks result in higherdensity drives, which is good for the consumer but creates newchallenges for drive manufacturers. As the density of the dataincreases, the tolerance for error in the position of a drive componentsuch as a read/write head decreases. As the position of such a headrelative to a data track becomes more important, so too does theplacement of information, such as servo data, that is used to determinethe position of a head relative to a data track.

In existing servowriting techniques, servowriting passes or steps can bestopped and restarted because of a detected displacement whileservowriting. Previously written servo information before thedisplacement during the step or pass may be written again or erased andthen written again. While writing a track of servo information,manufacturers may restart writing the track each time the head is out ofposition. Much time can be spent restarting operations until the head isan acceptable position while writing an entire track.

BRIEF SUMMARY

Systems and methods in accordance with the present invention takeadvantage of conditional writing and trimming techniques used inservowriting and self-servowriting. Conditional servowriting techniquesallow servowriting to be disabled when it is determined that servoinformation will not be written and/or trimmed at a desired location orwithin a threshold distance of a desired location. In some embodiments,servowriting can be inhibited when a distance between a predictedlocation of servo information and a desired location of servoinformation is greater than a threshold distance. In other embodiments,a position of a head or write element can be used to determine whetherto servowrite. Servowriting can be resumed it is determined that servoinformation will be written or trimmed at a desired location or within athreshold distance of a desired location.

In one embodiment, servowriting can be performed on a wedge by wedgebasis during a servowriting pass or step. Servowriting can be disabledor inhibited for servo wedges for which it is determined that servoinformation will not be written and/or trimmed at a desired location orwithin a threshold distance of a desired location. Servo information canbe written and/or trimmed for those servo wedges for which the servoinformation will be or is predicted to be in an acceptable location.

In one embodiment, servowriting can be performed without re-writingpreviously written servo information. During a pass or step, servoinformation can be written when its location will be acceptable and notwritten when it is not.

In some embodiments, information indicating servowriting progress can becached. For example, an indication of servo wedges for which servoinformation has been written and/or not written can be cached.

In one embodiment, information regarding a reference pattern such asWORF information can be determined during extra revolutions ofservowriting. The WORF information can be used to more accuratelyposition the head during subsequent revolutions.

Other features, aspects, and objects of the invention can be obtainedfrom a review of the specification, the figures, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing components of a disk drive that can be usedin accordance with embodiments of the present invention.

FIG. 2 is a diagram showing an example of a data and servo format for adisk in the drive of FIG. 1.

FIG. 3 is a diagram showing servo information that can be written to thetracks shown in FIG. 2.

FIG. 4 is a diagram showing displacement of servo bursts that can bewritten to the tracks shown in FIG. 2.

FIG. 5 is a flowchart illustrating a method in accordance with oneembodiment of the present invention for writing and/or trimming servoinformation during a revolution of a rotatable storage medium during aservowriting pass.

FIG. 6 is a flowchart illustrating a method in accordance with oneembodiment of the present invention for performing a servowriting pass.

FIG. 7 is a flowchart illustrating a method in accordance with oneembodiment of the present invention for performing a servowriting pass,wherein servo information is written and/or trimmed unconditionally on alast revolution of the pass.

FIG. 8 is a flowchart illustrating a method in accordance with oneembodiment of the present invention for performing a servowriting pass,wherein a threshold(s) is increased after some revolutions.

FIG. 9 is a diagram of an exemplary servo-burst pattern being writtenover a progression of servowriting steps in accordance with oneembodiment of the present invention.

FIG. 10 is a flowchart illustrating a method that can be used to writethe servo-burst pattern of FIG. 9 in accordance with one embodiment ofthe present invention.

FIG. 11 is a diagram of an exemplary servo-burst pattern being writtenover a progression of servowriting steps/passes that can benefit fromembodiments in accordance with the present invention.

FIG. 12 is a diagram of an exemplary servo-burst pattern being writtenover a progression of servowriting steps/passes that can benefit fromembodiments in accordance with the present invention.

FIG. 13 is a flowchart illustrating a method in accordance with oneembodiment of the present invention for performing a revolution of aservowriting pass.

FIG. 14 is a diagram illustrating servo bursts written in accordancewith one embodiment of the present invention using write-currentvariation.

FIG. 15 is a flowchart illustrating a method in accordance with oneembodiment of the present invention for performing a revolution of aservowriting pass.

FIG. 16 is a flowchart illustrating a method in accordance with oneembodiment of the present invention for determining WORF data using datagathered during revolutions of a servowriting pass.

DETAILED DESCRIPTION

Systems and methods in accordance with one embodiment of the presentinvention can be used when servowriting, or self-servowriting, arotatable storage medium in a data storage device, such as a hard diskdrive. For example, a typical disk drive 100, as shown in FIG. 1,includes at least one magnetic disk 102 capable of storing informationon at least one of the surfaces of the disk. A closed-loop servo systemcan be used to move an actuator arm 106 and data head 104 over thesurface of the disk, such that information can be written to, and readfrom, the surface of the disk. The closed-loop servo system can contain,for example, a voice coil motor driver 108 to drive current through avoice coil motor (not shown) in order to drive the actuator arm, aspindle motor driver 112 to drive current through a spindle motor (notshown) in order to rotate the disk(s), a microprocessor 120 to controlthe motors, and a disk controller 118 to transfer information betweenthe microprocessor, buffer, read channel, and a host 122. A host can beany device, apparatus, or system capable of utilizing the data storagedevice, such as a personal computer, Web server, or a consumerelectronics device. The drive can contain at least one processor, ormicroprocessor 120, that can process information for the disk controller118, read/write channel 114, VCM driver 108, or spindle driver 112. Themicroprocessor can also include a servo controller, which can exist asan algorithm resident in the microprocessor 120. The disk controller118, which can store information in buffer memory 110 resident in thedrive, can also provide user data to a read/write channel 114, which cansend data signals to a current amplifier or preamp 116 to be written tothe disk(s) 102, and can send servo and/or user data signals back to thedisk controller 118.

The information stored on such a disk can be written in concentrictracks, extending from near the inner diameter of the disk to near theouter diameter of the disk 200, as shown in the example disk of FIG. 2.In an embedded servo-type system, servo information can be written inservo wedges 202, and can be recorded on tracks 204 that can alsocontain data. In a system where the actuator arm rotates about a pivotpoint such as a bearing, the servo wedges may not extend linearly fromthe inner diameter (ID) of the disk to the outer diameter (OD), but maybe curved slightly in order to adjust for the trajectory of the head asit sweeps across the disk.

The servo information often includes bursts of transitions or boundariescalled “servo bursts.” A boundary or burst boundary as used herein doesnot mean or imply that servo bursts forming a boundary necessarily havea substantially common edge as the bursts can be spaced such that thereis a gap radically or circumferentially between the bursts. The servoinformation can be positioned regularly about each track, such that whena data head reads the servo information, a relative position of the headcan be determined that can be used by a servo processor to adjust theposition of the head relative to the track. For each servo wedge, thisrelative position can be determined in one example as a function of thetarget location, a track number read from the servo wedge, and theamplitudes or phases of the bursts, or a subset of those bursts. Theposition of a head or element, such as a read/write head or element,relative to a target or desired location such as the center of a trackor other desired location, will be referred to herein as position-error.Position-error distance may be used to refer to the distance between atarget or desired location and an actual or predicted location of a heador element. The signal generated as a head or element moves across servobursts or boundaries between servo bursts is often referred to as aposition-error signal (PES). The PES can be used to represent a positionof the head or element relative to a target location such as a trackcenterline defined by a boundary between servo bursts.

A centerline 300 for a given data track can be “defined” relative to aseries of bursts, burst edges, or burst boundaries, such as a burstboundary defined by the lower edge of A-burst 302 and the upper edge ofB-burst 304 in FIG. 3. The centerline can also be defined by, or offsetrelative to, any function or combination of bursts or burst patterns.This can include, for example, a location at which the PES value is amaximum, a minimum, or a fraction or percentage thereof. Any locationrelative to a function of the bursts can be selected to define trackposition. For example, if a read head evenly straddles an A-burst and aB-burst, or portions thereof, then servo demodulation circuitry incommunication with the head can produce equal amplitude measurements forthe two bursts, as the portion of the signal coming from the A-burstabove the centerline is approximately equal in amplitude to the portioncoming from the B-burst below the centerline. The resulting computed PEScan be zero and represent a position at track center if the radiallocation defined by the A-burst/B-burst (A/B) combination, or A/Bboundary, is the center of a data track, or a track centerline. In suchan embodiment, the radial location at which the PES value is zero can bereferred to as a null-point. Null-points can be used in each servo wedgeto define a relative position of a track. If the head is too far towardsthe outer diameter of the disk, or above the centerline in FIG. 3, thenthere will be a greater contribution from the A-burst that results in amore “negative” PES. Using the negative PES, the servo controller coulddirect the voice coil motor to move the head toward the inner diameterof the disk and closer to its desired position relative to thecenterline. This can be done for each set of burst edges defining theshape of that track about the disk.

The servo scheme described above is one of many possible schemes forcombining the track number read from a servo wedge and the phases oramplitudes of the servo bursts. Many other schemes are possible that canbenefit from embodiments in accordance with the present invention.

A problem that exists in the reading and writing of servo patternsinvolves the misplacement, or offset, of a read/write head with respectto the ideal and/or actual position of a track. It is impossible toperfectly position a head with respect to a track for each rotation of adisk, as there is almost always a noticeable offset between the desiredposition and the actual position of the head with respect to the disk.This can cause problems when writing servo patterns, as each portion ofthe pattern can be slightly misplaced. This can lead to what is referredto as written-in runout. Written-in runout can be thought of as theoffset between the “actual” centerline, or desired radial center, of atrack and the centerline that would be determined by a head reading thewritten servo pattern. Written-in runout can lead to servo performanceproblems, wasted space on a disk and, in a worst case, unrecoverable orirreparably damaged data.

Systems and methods in accordance with one embodiment of the presentinvention overcome deficiencies in prior art servowriting andself-servowriting systems by taking advantage of conditional methods forperforming servowriting operations. For example, the non-repeatablerunout (NRRO) suffered by a read/write (R/W) head duringself-servowriting operations can be written into the servo bursts. Thewritten-in runout of a self-servowritten pattern can be reduced bywriting and/or trimming servo information, including servo bursts,conditionally upon a location of the head or write-element duringservowriting. As used herein and as understood by those of ordinaryskill in the art, servowriting can include writing servo information,trimming servo information, or writing and trimming servo information.In a given servowriting pass, servo information can be written, trimmed,or written and trimmed. Reference to writing servo information hereincan include writing, trimming, or writing and trimming as writing andtrimming are similar operations that can be performed by or according tothe systems and methods of the present invention.

It will be understood that various self-servowriting techniques canbenefit from embodiments in accordance with the present invention. Onesuch self-servowriting technique is often referred to as “replication”self-servowriting. In replication self-servowriting, a media-writer canbe used to write servo information on a stack of disks. Each disk canthen be placed in a separate drive having multiple blank disks, suchthat the drive can use the patterned disk as a reference to re-writeservo patterns on all of the other disk surfaces in the drive, as wellas writing a servo pattern on the media-written surface, if desired.Various other techniques exist for producing a reference for replicationself-servowriting. For example, the reference surface can bemagnetically printed, as described in U.S. Pat. No. 6,567,227.Regardless of the method used for producing the reference pattern, it ispossible for replication self-servowriting systems to benefit from useof the current invention.

Another class of self-servowriting techniques is known as “propagation”self-servowriting. Techniques in this class differ from those in thereplication class in the fact that the wedges used by the drive at onepoint in the process are later used as reference wedges for othertracks. These schemes are thus “self-propagating.” Typically, suchtechniques require a R/W head that has a large radial offset between theread and write elements, so that the drive can servo with the readelement over previously-written servo wedges while the write element iswriting new servo wedges. In one such application, a servowriter is usedfor a short time to write a small “guide” pattern on a disk that isalready assembled in a drive. The drive then propagates the patternacross the disk. In this type of self-servowriting operation, previouslywritten tracks can later serve as reference tracks. In otherapplications, the guide pattern may be produced by the drive, withoutthe use of a servowriter. Regardless of the method used for producingthe guide pattern, it is possible for propagation self-servowritingsystems to benefit from use of the current invention.

As shown in FIG. 3, the radial position of a track centerline 300 can bedefined by the “lower” edge of one burst 302 and the “upper” edge of acorresponding burst 304 in a differential pair. Here, the “lower” edgecan refer to the edge of the burst nearest the inner diameter (ID) of adisk, while the “upper” edge can refer to the edge nearest the outerdiameter (OD) of the disk. The position of a center of a track can bedetermined by examining the boundary between these edges. Embodiments inaccordance with the present invention can allow the track defined bysuch burst edges to have reduced written-in runout using conditionalservo information writing and trimming methods. FIG. 3 illustratesexemplary servo information. Other servo patterns, including forexample, additional bits to denote track number are considered withinthe scope of the present invention.

At each track to be servowritten, it can be desirable to remove thesynchronous runout of the reference pattern as much as possible. Severaltechniques exist for removing synchronous runout that are known to thoseskilled in the art. After substantially removing the synchronous runout,each head should be following substantially circular tracks on therespective disks. The remaining runout of each head should then bedominated by non-synchronous runout suffered by the reference head, orthe head observing the reference surface, from which the position of thehead-stack is controlled. The head stack assembly (HSA) typically refersto the combination of the actuator, voice coil motor (VCM), E-block(arms of the actuator), suspensions, and heads. The HSA is typically oneof two major moving parts of a drive, with the other moving part beingthe spindle and disks, referred to as the “disk-stack.” There may beother contributors to the remaining runout for the R/W heads that is notcommon to that suffered by the reference head. Typically, thesecontributors will be relatively small.

FIG. 4 shows an example of a pattern wherein the remaining runout isdominated by non-synchronous runout suffered by the reference head. Forthe sake of simplicity, erase bands will be ignored as they do notsignificantly impact the discussion of various embodiments. In FIG. 4,during the servowriting step in which the A-bursts were written, thewriter was approximately on track, such that the upper edges of theA-bursts are in approximately the correct location. The dotted lineshows the path of the upper edge of the write element of the head duringthe next servowriting step, in which the A-bursts are trimmed and theB-bursts are written. Notice that the misplacement of the head duringthe second servowriting step results in position errors for the loweredges of the majority of the A-bursts and the upper edges of themajority of the B-bursts. This can cause a subsequent read or writeoperation on the track defined by these bursts to misread data, as thehead will be offtrack, or misplaced, during much of the read or writeoperation.

While the final servo wedges (reference 202 in FIG. 2) are being writtenfor each head, the position measurements from the reference head, or aservo position signal, can indicate approximately how much each head ismisplaced with respect to track center. For example, looking at FIG. 1,a signal from the head 104 reading the reference pattern can be passedas servo data through the read/write channel 114 to the disk controller118, and passed on to the microprocessor 120, which can send commands tothe VCM driver 108, in order to attempt to move the head back intoposition relative to the track. The measured PES can also be analyzedand used to determine whether the write element should write and/or trimservo information. The position measurements from the reference patternwill probably be non-zero, primarily due to imperfect control of theservo position of the reference head, and can be used to determinewhether servo information should be written and/or trimmed. The PES canbe used to determine or predict if a location of to-be-written servoinformation will be within specified limits. If the location is notwithin specified limits, writing of servo information can be disabled.The PES can also be used to determine if a location of the write element(actual or predicted) is within specified limits for performing trimoperations on any previously written servo information. Any number ofparameters can be used to determine if a servowriting operation shouldproceed, including a position of the write element, a predicted positionof the write element, or a predicted position of to-be-written and/ortrimmed servo information.

An exemplary method that can be used to account for the actual path of awrite element during a revolution of a disk during a servowriting passis shown in the diagram of FIG. 5. A servowriting step can include oneor multiple servowriting passes and each track of a disk can be definedby one or multiple servowriting steps. For example, in some embodimentsa servowriting step can include one pass for writing and trimming servoinformation. In other embodiments, a servowriting step can include afirst pass for writing servo information and a second pass for trimmingservo information. As will be described below in accordance with someembodiments, the servo information to be written and/or trimmed during apass of a servowriting step may be written and/or trimmed in one ormultiple revolutions of the disk. A pass need not include an integernumber of revolutions of the disk. Passes or steps can be completed atany point during a revolution of the disk and passes or steps can beginat any point during a revolution of the disk.

Using servo position information, it is possible to determine theposition of the head with respect to a track centerline or otherreference position. Using an interpolation algorithm or state-spacecontrol methods, it is also possible to determine a predicted positionof the head when servo information is actually written or trimmed or apredicted location of to-be-written or to-be-trimmed servo information,as there will likely be some radial variation between the time that thereference pattern is read and the time that the servo information iswritten and/or trimmed. When writing servo information, the actualwriting of the final servo information onto a disk does not occursimultaneously with the reading of the reference data, as it isnecessary to read the information before the final servo information canbe written. As such, there will be a delay in time between the readingand writing of the information. Because of this delay in time, theradial position of the head at the time of writing will not be exactlywhere it was when reading the servo information or when another head wasreading the servo information. It may then be necessary, depending onthe length of the delay and/or the variation of the head path, to makeat least one calculation to predict where the head will be when the datais written. For example, a state-estimator can be used to predict theposition-error of the reference head at the time of writing from theestimated state variables at the time of the most recent sample, such asby using standard state-space techniques. Such techniques can take intoaccount, for example, the radial velocity and direction of the R/W headand the rotation speed of the disk.

For convenience, the remainder of this example will be discussed interms of the location or position of the head, although it will beunderstood that other parameters such as a predicted location-ofto-be-written and/or trimmed servo information can be used. It will alsobe understood that any portion of the head, including a write elementcoupled with the head, can be used as a reference for determiningdistances. A PES may be used to determine, estimate, or predict adistance. It will be understood that the systems and techniquesdescribed herein can apply to both writing and trimming servoinformation and that reference to one or the other does not imply thatthe other can not be performed by or according to the system ortechnique.

Once the position of the head is known, it is possible to determine thedistance between a desired location of to-be-written servo informationor to-be-trimmed servo information (or a desired write or trim location)for a first servo wedge and a portion of the head 510. The distance canbe calculated in a number of ways, such as from the edge of the to-bewritten or to-be-trimmed information to the center of the write elementor to the appropriate edge of the write element. First is not intendedto imply any order for selecting a servo wedge as the first servo wedgecan be any randomly or otherwise chosen servo wedge on which to beginthe pass or revolution. For example, in one embodiment the servo wedgeon which to begin the pass is chosen so as to optimize efficiency bybeginning on a first wedge after servo positioning is sufficientlysettled and repeatable runout removal is complete after a seek operationto the track to be servowritten.

The distance determined in step 510 can be used to determine whetherservo information for the servo wedge should be written and/or trimmed520. The distance can be compared with a threshold to determine whetheror not to trim and/or write the servo information. Various types ofthresholds can be used. In one embodiment, a threshold can be a distancefrom a desired location. If a position of a write element is beyond aposition defined by this threshold distance or if a distance between adesired location and an actual or predicted location of write element isgreater than this threshold distance, writing and/or trimming of servoinformation can be disabled. In other embodiments, a threshold can be avalue of a position error signal. If the value of the PES reaches orexceeds the threshold PES value, writing and/or trimming of servoinformation can be disabled.

If the distance determined in step 510 is greater than the thresholddistance, the servo information for the wedge is not written and/ortrimmed 530. The threshold can also be defined such that servoinformation is not written and/or trimmed if the distance is equal tothe threshold. In step 540, an indication is written to memory that theservo information for the servo wedge was not written and/or trimmed.The indication can be written to any available memory including a buffermemory such as SRAM or DRAM as shown in FIG. 1. If it is determined thatthe distance from step 510 is not greater than a threshold, the servoinformation for the wedge can be written and/or trimmed 550.

In step 560, it is determined whether an attempt has been made to writeand/or trim servo information for all servo wedges during the revolutionof the servowriting pass. If writing and/or trimming of servoinformation for all servo wedges has not been attempted, servowritingadvances to a next wedge 570 and the method continues. If writing and/ortrimming of servo information for all servo wedges of the revolution hasbeen attempted, the revolution of the servowriting pass is complete.After a revolution is complete, servowriting can proceed according to amethod illustrated in FIG. 6, 7, 8, or 16, as will be discussed herein.

The method illustrated in FIG. 5 allows the writing and/or trimming ofservo information for a servo wedge in a pass of a servowriting step tobe skipped or disabled when it is determined that a head or element isnot in an acceptable position for writing and/or trimming servoinformation. By noting which servo wedges have been written and/ortrimmed and which have not, a servo wedge for which the write elementwas not in an acceptable position to write and/or trim can be skippedand the write and/or trim attempted on a subsequent revolution.Additionally, those servo wedges for which the write and/or trim wasperformed do not need to be repeated. Although FIG. 5 illustrateswriting to memory an indication that servo information was not writtenand/or trimmed for a particular wedge, it will be understood by thoseskilled in the art that an indication that servo information for aparticular servo wedge was written and/or trimmed can be written inaddition to or in place of an indication that servo information was notwritten and/or trimmed for a particular wedge.

In some embodiments in accordance with the present invention,position-error information determined at a first circumferentiallocation can be used to determine whether to write and/or trim servoinformation at a second circumferential location. For example, adistance between a desired location of to-be-written servo informationor to-be-trimmed servo information for a first servo wedge and a portionof a write element can be determined. If the distance is greater than athreshold, writing and/or trimming of servo information for a secondservo wedge can be disabled. In some embodiments, the second servo wedgecan be a next consecutive servo wedge following a servo wedge for whichthe distance is determined. In other embodiments, the second servo wedgecan be a servo wedge a number of servo wedges, for example, 3, followingthe servo wedge for which the distance is determined. Such embodimentscan be useful in applications where a time delay, and thus a positiondelay of a write element, exists between determining positioninformation and disabling writing and/or trimming. It will be understoodby those of ordinary skill in the art that due to time delays in someembodiments, wedges on a target track or disk may be written and/ortrimmed during a time between reading servo wedges on a reference trackor disk.

Position-error information determined at a first circumferentiallocation can also be used to determine whether to write and/or trimservo information at multiple circumferential locations. For example, adistance between a desired location of to-be-written servo informationor to-be-trimmed servo information for a first servo wedge and a portionof a write element can be determined. If the distance is greater than athreshold, writing and/or trimming of servo information for a number ofservo wedges can be disabled. For example, using position informationdetermined at a first servo wedge, writing and/or trimming of servoinformation for the next 4 consecutive servo wedges encountered in theservowriting pass can be disabled. It is also possible to inhibitwriting if the distance is greater than a first threshold and restartwriting when the distance is less than a second threshold. The first andsecond threshold can be the same or different. A second threshold thatis less than the first threshold may help avoid excessive cyclingbetween enabling and inhibiting of writing.

FIG. 6 illustrates a method that can be used to account for the actualpath of a write element when performing a servowriting pass. The methodcan begin after a first revolution of a servowriting pass as shown inFIG. 5. In step 610 it is determined whether all servo information to betrimmed and/or written during the servowriting pass has been writtenand/or trimmed. If all servo information to-be-written and/or trimmedfor each servo wedge during the servowriting pass has been writtenand/or trimmed, it is determined whether additional passes for thecurrent servowriting step need to be performed 620. If all passes forthe servowriting step have been performed, the servowriting step iscomplete and a next step can begin or servowriting can be complete ifall steps have been completed 660. If additional passes for theservowriting step are to be performed, the next pass of the servowritingstep is begun 630 and attempted according to the method illustrated inFIG. 5.

If all servo information to-be-written and/or trimmed for each servowedge during the servowriting pass has not been written and/or trimmed,then the wedges for which servo information to be written and/or trimmedduring the pass has not been written and/or trimmed are determined 640.After the wedges are determined, the servo information for those wedgescan be attempted to be written and/or trimmed during a subsequentrevolution according to the method of FIG. 5 (step 650).

To the extent the method illustrated in FIGS. 5 and 6 requiresadditional revolutions to write servo information, additional time forservowriting can be required. Accordingly, measures can be used to limitthe number of revolutions. In the method illustrated in FIG. 7, servoinformation is written and/or trimmed unconditionally on a lastrevolution after a predetermined number of revolutions of a servowritingpass. That is, after it is determined that not all servo information tobe written and/or trimmed during the pass has been written and/ortrimmed 610, the number of revolutions can be compared to apredetermined number of revolutions N (step 720). If the number ofrevolutions is not greater than N, the wedges for which servoinformation to-be-written and/or trimmed during the pass has not beenwritten and/or trimmed are determined 730. After the wedges aredetermined, the servo information for those wedges can be attempted tobe written and/or trimmed during a subsequent revolution according tothe method of FIG. 5 (step 760).

If the number of revolutions is greater than N, the wedges for whichservo information to-be-written and/or trimmed during the servowritingpass has not been written and/or trimmed can be determined 740. Theservo information to-be-written and/or trimmed during the pass for thosewedges can be written and/or trimmed unconditionally during a nextrevolution 750. That is, writing and/or trimming will not be disabledbecause the write element is out of position.

FIG. 8 illustrates another exemplary method that can be used to accountfor the actual path of a write element when performing a servowritingpass. In one embodiment, the method can begin after a first revolutionof a servowriting pass has been completed according to the methodillustrated in FIG. 5. It is first determined whether all servoinformation to-be-written and/or trimmed during the servowriting passhas been written and/or trimmed 610. If all servo information has beenwritten and/or trimmed, the method proceeds as previously discussed withregards to FIG. 6. If not all servo information has been written and/ortrimmed, the wedges for which servo information to-be-written and/ortrimmed during the pass has not been written and/or trimmed can bedetermined 820. The threshold(s) used to determine whether servoinformation for a wedge should be written and/or trimmed can then beincreased 830. After increasing the threshold(s), the servo informationfor the remaining wedges can be attempted to be written and/or trimmedon a subsequent revolution according to the method of FIG. 5 (step 840).

It will be appreciated by those skilled in the art that various schemesfor increasing the threshold(s) can be used. In one embodiment, onethreshold is used for each wedge to be written and/or trimmed during theservowriting pass. This threshold can then be increased by apredetermined amount. In other embodiments, different thresholds areused for writing servo information for individual wedges. In step 830,the threshold used for each of these wedges can be increased by apredetermined amount that can be different for each threshold or thesame for each threshold.

Additionally, in some embodiments, the position error of the writeelement observed during a previous revolution can be used to determinean appropriate amount by which to increase the threshold(s). An averagedposition error magnitude of the write element while trying to writeand/or trim during a previous revolution can be used to increase asingle threshold or multiple thresholds. Many other values such as theRMS of the position error signal for example, can also be used todetermine an amount by which to increase the threshold. In otherembodiments, an individual position error of the write element observedwhile attempting to write and/or trim servo information for anindividual wedge can be used to increase the threshold for thatindividual wedge by an appropriate amount.

It will further be appreciated that the threshold(s) need not beincreased after every revolution or even after the first revolution. Forinstance, a maximum number of revolutions could be established, such as3, for example. If all servo information to be written and/or trimmedduring a servowriting pass was not written during the first threerevolutions, the threshold(s) could be increased. If all servoinformation was not written and/or trimmed during the next 2revolutions, the threshold(s) could be increased again, etc.

In one embodiment in accordance with the present invention, acharacteristic of a track can be used to determine conditionalservowriting parameters. For example, the number of revolutionsallocated before increasing a threshold or writing unconditionally isbased upon the specific track(s) or burst boundaries that are affectedby the servo information to-be-written or trimmed during the given pass.Such an embodiment can be a useful balance for certain applicationswhere an improvement in head or element position control during write ortrim operations is desired, but the amount of extra time needed to takeadditional revolutions for all servowriting passes or steps isdetermined to be unacceptable or undesirable.

For example, a series of burst boundaries such as A-burst/B-burstboundaries can be spaced circumferentially around a disk to define atrack centerline, which can be used during write operations. Other burstboundaries spaced circumferentially around a disk can be used forpurposes such as reading and/or positioning, but not for defining trackcenterlines. In one embodiment in accordance with the present invention,extra revolutions are allocated for trimming and/or writing servoinformation such as bursts whose edges define track centerlines beforeincreasing a threshold. For example, 5 revolutions could be allocated towriting servo information that includes burst(s) that will formboundaries with other bursts to define track centerlines beforeincreasing a threshold. For all other servo information that does notinclude bursts that will form boundaries with other bursts to definetrack centerlines, 3 revolutions could be allocated before increasing athreshold. The number of revolutions can vary by embodiment and can beadjusted depending on the requirements for a particular application.

Extra revolutions can also be allocated to writing and/or trimming servoinformation that influences the positioning of the head or element nearsystem tracks or other important tracks. These tracks can include tracksset aside for storing system information such as defective sectorinformation, WORF information, data zone information, or otherinformation needed to perform various drive functions. In variousapplications, various tracks may be considered more critical such thatmore accurate positioning of the head near those tracks is desired.Extra revolutions for writing the servo information for those tracks canalso be allocated.

The methods illustrated in FIGS. 5 and 6 can also be used to account forthe actual path of a write element when performing multiple passes of aservowriting step in embodiments where individual passes are used forwriting and trimming. For example, the position-error of a write elementwhile performing a trim of an A-burst of a servo wedge can be used toestablish an appropriate threshold to be used while attempting to writea corresponding B-burst.

Consider the diagram of an exemplary servo-burst pattern being writtenover a progression of servowriting steps illustrated in FIG. 9, and theflowchart illustrating the method performed in writing and trimming thebursts shown in FIG. 10. For the sake of simplicity, the followingexample only discusses writing and trimming servo information for asingle wedge and single burst pair, although it will be understood thatmultiple wedges and multiple servo bursts around the circumference ofthe disk can be written and/or trimmed during each of the servowritingpasses and steps discussed herein. In a first servowriting step 1010,write element 910 writes an A-burst. The A-burst can be written as partof a servowriting pass performed in accordance with the methodsillustrated in FIGS. 5 and 6, although it need not be. In a secondservowriting step 1020, the write element writes a B-burst. The B-burstcan also be written as part of a servowriting pass performed inaccordance with the methods illustrated in FIGS. 5 and 6 although othertechniques can be used. Several revolutions or fractions thereof mayhave been completed before the write element was in position to writethe A-Burst and B-burst.

As shown in FIG. 9, when writing the B-burst, the upper edge of thewrite element was displaced a distance 930 (towards the top of the pageas shown in the figure, or towards the OD of the disk) from the nominaldesired location 920 of the boundary between the B-burst and theA-burst. Due to the displacement of the write element, the value of thePES while writing the B-burst can be non-zero. The value of the PES whenwriting the B-burst can be determined in step 1030. In step 1040, thethreshold or threshold window used for trimming the A-burst can beadjusted.

To help compensate for the error in writing the B-burst, the acceptablevalue of the PES or acceptable PES window while trimming the A-burst canbe adjusted. For example, assume that an acceptable PES range or windowof +10 to −10 units was being used. That is, a first threshold of +10units was being used for position-errors in a first direction (e.g.,towards the outer diameter of the disk) and a second threshold of −10units was being used for position-errors in a second direction (e.g.,towards the inner diameter of the disk). Assume further that the PESwhile writing the B-burst was +3 units, indicating a displacementtowards the outer diameter of the disk. In order to help compensate forthe displacement while writing the B-burst, the acceptable PES range canbe adjusted to +7 to −13 units, thus allowing less position-error in thedirection of the first displacement and more position-error in theopposite direction of the first displacement. This can re-center therange of acceptable position-error to increase the probability that theposition-error while trimming the A-burst will offset the position-errorwhile the B-burst was written.

After adjusting the acceptable PES range, the A-burst can be trimmed instep 1050 according to the methods illustrated in FIGS. 5 and 6. Asshown in FIG. 9, the write element is displaced a distance 950 whiletrimming the A-burst. In this example, the averaged displacement of thewrite element while writing the B-burst and trimming the A-burst canresult in a burst boundary approximately at the nominal desired locationof the burst boundary.

Although the B-burst was written prior to trimming the A-burst in theforegoing example, it will be understood by those of ordinary skill inthe art that the principles will apply equally as well to embodimentswhere the position-error is determined while trimming a first burst andthen used to adjust the threshold or threshold window used whilesubsequently writing a corresponding burst. It will further beunderstood that other types of thresholds and threshold windows may beused in other embodiments. For example, if a threshold distance is used,the threshold distance or window of acceptable distances (displacements)for a write or trim can be adjusted based upon a previously observedposition-error while performing a corresponding operation.

The use of thresholds to control the writing of servo information forservo wedges can be extended through the use of multiple thresholds fordifferent directions of position-error. Different thresholds can be usedto inhibit writing or trimming depending on the direction ofdisplacement, relative to a desired location, of the predicted positionof to-be-written servo information, the predicted position ofto-be-trimmed servo information, or the predicted or actual position ofa write element to be used in writing or trimming the to-be-written orto-be-trimmed servo information.

FIGS. 11 and 12 illustrate the progression of exemplary servowritingprocesses that can benefit from embodiments in accordance with thepresent invention. In the figures, the top of the page corresponds tolocations nearer to an outer diameter (OD) of a disk while the bottom ofthe page corresponds to locations nearer to an inner diameter (ID) ofthe disk and servowriting propagation is assumed to be from OD to ID. Inother embodiments, propagation may be from ID to OD. Referring now toFIG. 11, write element 1110 writes an A-burst during a firstservowriting step 1160. In one embodiment, the A-burst can be writtenaccording to the methods illustrated in FIGS. 5 and 6. During a firstrevolution 1170 of a first pass of a second servowriting step, writeelement 1110 trims the A-burst and writes a B-burst. When trimming theA-burst and writing the B-burst, the upper edge of the write element ispositioned along line 1130, a distance 1150 from the desired location1120 of the boundary between the A-burst and B-burst. The displacementof the writer, and thus the displacement of the lower edge of theA-burst and the upper edge of the B-burst is against the direction ofpropagation.

During a second revolution 1180 of the first pass of the secondservowriting step, the upper edge of write element 1150 is positionedalong line 1140, a distance 1160 towards the inner diameter of the disk.The second trim/write revolution does not affect the boundary betweenthe A-burst and the B-burst, resulting in a boundary at location 1130,rather than desired location 1120.

FIG. 11 illustrates the effects of a position-error in the directionopposite to servowriting propagation. Since the error was against thedirection of propagation, it cannot easily be corrected duringsubsequent attempts at the current radial location for the servowritingstep. In order to correct the error in placement of the bursts, theA-burst should either be erased and then re-written or simplyre-written, with the write element positioned at the position used inperforming the first servowriting step. While it may be possible tocorrect the error in trimming the A-burst by writing another portion ofthe same burst across the distance 1150, incoherence may exist betweenthe portions, resulting in erroneous position information when the burstis later demodulated. As the additional RRO that can be introduced bywriting multiple portions is undesirable, many drive manufacturers willchoose to reposition the write element, erase the burst, and re-writeit.

FIG. 12 illustrates the effects of a displacement of a write element orlocation of servo information in the direction of propagation. In afirst servowriting step 1260, write element 1210 writes an A-burst.During a first revolution 1270 of a first pass of a second servowritingstep, write element 1210 trims the A-burst and writes a B-burst. Whentrimming the A-burst and writing the B-burst, an upper edge of the writeelement was positioned along line 1230, a distance 1250 from the desiredlocation 1220 of the upper edge of the write element, or the desiredlocation of the boundary between the A-burst and B-burst. Thedisplacement of the writer, and thus the displacement of the lower edgeof the A-burst and the upper edge of the B-burst, is towards the innerdiameter of the disk (in the direction of propagation).

During a second revolution 1280 of the first pass of the secondservowriting step, an upper edge of write element 1210 is positionedalong the desired location 1220 of the boundary between the A-burst andB-burst. In this revolution, write element 1210 is able to trim theA-burst such that its lower edge is positioned along the desiredlocation 1220 of the boundary. Write element 1210 also re-writes theB-burst such that its upper edge is also positioned along the desiredlocation of the boundary 1220. In another embodiment, the A-burst istrimmed and the B-burst erased during the second revolution of the firstpass of the second servowriting step. The B-burst is then re-writtenduring a third revolution of the first pass of the second servowritingstep.

As illustrated by FIGS. 11 and 12, displacements of written or trimmedservo information opposite to the direction of servowriting propagationare more difficult to correct. While displacements in the direction ofpropagation can often be corrected with the write element maintainingits approximate radial position for the current servowriting step orpass, displacements against the direction of propagation can necessitaterepositioning the write element. Accordingly, different thresholds forinhibiting writing and/or trimming servo information can be useddepending on the direction of the mis-placement of the write element.

In one embodiment, a smaller threshold is used to inhibit writing and/ortrimming for position-errors opposite to the direction of propagation.Writing and/or trimming of servo information can be inhibited when adistance between a desired location of to-be-written and/or trimmedservo information and a position (actual or predicted) of the writeelement to be used in writing and/or trimming the servo information (ora predicted location of to-be-written and/or trimmed servo information)reaches or exceeds a smaller threshold. For displacements in thedirection of propagation, a larger threshold can be used to inhibitwriting and/or trimming of servo information. If the distance between adesired location of to-be-written and/or trimmed servo information and aposition of the write element to be used in writing and/or trimming theservo information is less than the larger threshold, the servoinformation can be written and/or trimmed. On subsequent passes orrevolutions over the wedge where the servo information was writtenand/or trimmed, the servo information can be re-written or re-trimmed ifthe write element is in a better position (distance is smaller). If thewrite element is not in a better position on subsequent passes orrevolutions, the originally written and/or trimmed servo information canbe kept.

In some embodiments, multiple thresholds can be used during servowritingto determine whether servo information for a servo wedge should bewritten or trimmed, written and trimmed, or not written or trimmed. Forexample, referring to FIG. 13, a first threshold, T1, smaller than asecond threshold, T2, can be used. For each wedge for which servoinformation is to be written and trimmed during a servowriting pass, adetermination can be made as to whether information should be trimmedand written, trimmed or written, or neither trimmed nor written. Foreach wedge, a distance between a desired location of to-be-writtenand/or trimmed servo information and a position (actual or predicted) ofthe write element to be used in writing and/or trimming the servoinformation (or a predicted location of to-be-written and/or trimmedservo information) can be determined in step 1310. If it is determinedthat the distance is less than the smaller threshold T1 in step 1320,indicating that servo information will be written and/or trimmedrelatively close to a desired location, servo information for the wedgecan be written and trimmed during the revolution of the pass in step1330. That is, a first burst can be written and a second burst trimmedduring the revolution. An indication that the servo information to bewritten and trimmed during the servowriting step has been written andtrimmed can be written to memory in step 1340. The wedge can then beexcluded from further servowriting operations during the servowritingstep. In one embodiment, the servo information can be re-written andtrimmed in a later pass or revolution over the wedge if the writeelement is in a better position. In some embodiments, the servoinformation can only easily be re-written and trimmed in a later pass orrevolution if the original direction of position-error was in thedirection of propagation.

If it is determined that the distance is greater than the smallerthreshold T1 but less than the larger threshold T2 in step 1350, eithertrimming or writing of servo information can take place during therevolution in step 1360. If servo information to be written has beenwritten but servo information to be trimmed has not been trimmed, thenthe to-be-trimmed servo information can be trimmed. If servo informationto be trimmed has been trimmed but servo information to be written hasnot been written, then the to-be-written servo information can bewritten. If neither trimming nor writing has been completed, then eithercan be completed during the pass. The operation not completed can beattempted during a subsequent revolution or pass.

In step 1370, an indication that the servo information was written ortrimmed can be written to memory. If it is determined in step 1380 thatall wedges for the pass have been attempted, the revolution is complete.If it is determined that all wedges have not been attempted, the methodcan advance to the next wedge in step 1390 and then repeat.

If it is determined that the distance is greater than the largerthreshold T2 in step 1350, neither writing and trimming or writing ortrimming will be done. Writing and/or trimming servo information for thewedge can be attempted during a subsequent revolution of theservowriting pass.

Individual passes for trimming and writing servo information can reducethe NRRO that may be written into the servo wedge because of the largerposition-error of the write element. If the mis-placement of the writeris due to non-synchronous disturbances, then the mis-placement willlikely not be the same for every pass or revolution. For example, themisplacement of a lower edge of an A-burst trimmed in a first passshould not be the same as the misplacement of an upper edge of acorresponding B-burst written in a second pass. The resulting line orcenterline defined by the boundary between the two bursts will be theaverage of the two misplacements.

In one embodiment in accordance with the present invention, the use ofthresholds to determine whether to write and/or trim servo informationfor a wedge during a revolution of a servowriting pass can be combinedwith other servowriting techniques. Write current variation, forexample, can be used to reduce written in runout when a position-errorof the write element is relatively small.

The measured position-error of a write element can be analyzed and usedto determine an appropriate write current command which can be sent withwrite data to the current preamp 116, in order to deliver a writecurrent appropriate for the relative position of a head writing servoinformation. The position measurements from the reference pattern usedfor servowriting will probably be non-zero, primarily due to imperfectcontrol of the servo position of the reference head, but can be used asa reference for lookup and possible interpolation. A lookup can be doneusing tables, in which head calibration information and positioninformation can be stored in memory in the hard drive, and used to varythe write-current in order to account for mis-placement of the referencehead.

Referring to FIG. 14, a series of A-bursts can be written during a firstservowriting step. For the sake of simplicity, it is assumed that allA-bursts are positioned correctly and extend below the desiredcenterline, such that they can be trimmed during a servowriting stepthat is performed with a correctly-positioned R/W head. In someembodiments, it can be essential that the writer width be at least acertain percentage of the overall track spacing, such as for example75%, in order to ensure that the A-bursts extend below the desiredcenterline. The dotted line in FIG. 14 shows the actual path of theupper edge of the write element of the R/W head during the servowritingpass in which the B-bursts are written. The patterned areas show thewidth of the B-bursts without width variation.

Using the distance between the desired location of an edge of ayet-to-be written servo burst and a write element, along withcalibration information stored in calibration tables, the amount thewrite current should be adjusted in order to write a burst with an upperedge along the track centerline can be determined. The amount of writecurrent can then be adjusted appropriately and used to write the servoburst. As shown in FIG. 14, the write current can be varied such thatthe upper edge of each B-burst is approximately positioned along thedesired centerline. The magnitude of the variation shown in FIG. 14 isexaggerated for purposes of clarity and understanding. Actual variationmay only be on the order of about 10% of the nominal data track spacing.It is to be understood that practically the write current is adjustedbetween an upper and lower limit determined by the writingcharacteristics of the head. The upper limit exists when the writecurrent does not give a usably wider burst. The lower limit exists whenno usable burst can be written. As can be seen from FIG. 14, acontinually adjusting write current not only helps to ensure that theB-bursts are written with the top edge approximately along the desiredcenterline, but also can ensure that the bottom edge of each A-burst istrimmed approximately along the centerline.

Referring now to FIG. 15, there is illustrated a method for using writecurrent variation in conjunction with thresholds when writing servoinformation for individual wedges during a revolution of a servowritingpass. A distance between a desired location of to-be-written and/ortrimmed servo information for a wedge and a position (actual orpredicted) of the write element to be used in writing and/or trimmingthe servo information (or a predicted location of to-be-written and/ortrimmed servo information) can be determined 1510. It is then determinedif the distance is greater than a first threshold, T1 (step 1520). Ifthe distance is not greater than T1, the servo information for the wedgecan be written and trimmed using write current variation, if necessary,to compensate for the distance 1530. After writing and trimming theservo information, an indication can be written to memory that the servoinformation to-be-written and trimmed during the pass over the wedge waswritten and trimmed 1540.

If the distance determined in step 1510 is greater than T1, it isdetermined whether the distance is greater than a second threshold, T2(step 1550). If it is determined that the distance is not greater thanT2, servo information for the wedge can be written or trimmed 1560. Inone embodiment, write current variation can also be used at this step tominimize the written in runout that may be caused by writing or trimmingservo information when the head is positioned a distance from a desiredlocation. An indication can then be written to memory that servoinformation was written or trimmed for the wedge 1570. The operation notperformed can be attempted during a subsequent revolution or pass.

If the distance is greater than T2, servo information is not written ortrimmed for the wedge during the revolution. In step 1580, it isdetermined whether all wedges to be written and/or trimmed during therevolution have been attempted. If there are remaining wedges to beattempted during the revolution, the method can advance to a next wedgefor which servo information is to be written and/or trimmed 1590. Themethod can then repeat until writing and/or trimming of servoinformation to be written and/or trimmed for each wedge during the passhas been attempted.

In one embodiment, the threshold for using write current variation isdetermined by the characteristics of the head or write element. Athreshold can be set to a value equal to the position-error for which anadjusted write current is able to compensate. In one embodiment, twothresholds are used depending on the direction of the position-error ofthe write element. For example, if a write element is capable of writinga burst 0.05 microns wider than the width of the head using an increasedwrite current, a threshold can be set to a value of 0.025 microns (sincethe increased width will be in both directions of the width of the head,the increased write current can only write a 0.025 micron wider burst inone direction). This threshold can be used for a first situation wherean edge of the write element is positioned a distance away from adesired edge of to-be-written or trimmed information and the writeelement does not overlap the desired edge of the to-be-written orto-be-trimmed information, as illustrated by the third burst from theleft in FIG. 14. A second threshold can be used for a second situationwhere an edge of the write element is positioned a distance away from adesired edge of to-be-written or trimmed information and the writeelement does overlap the desired edge of the to-be-written orto-be-trimmed information, as illustrated by the first burst from theleft in FIG. 14. This second threshold can be set to a value equal toone half of the decreased burst width the head is capable of writingusing a decreased write current.

Although embodiments described herein refer generally to systems havinga read/write head that can be used to write bursts on rotating magneticmedia, other embodiments of the invention can take advantage of similarvariation, such as variations in drive current or drive voltage. Forexample, a laser writing information to an optical media can be drivenwith variable power in order to increase or decrease pit width in themedia in order to reduce track variation. Any media, or at least anyrotating media, upon which information is written, placed, or stored,may be able to take advantage of embodiments of the invention, asvariations in optical, electrical, magnetic, mechanical, and otherphysical systems can be made by varying a drive signal or other controlin order to reduce track misplacement.

In many servowriting techniques, information regarding a referencepattern, such as the written-in runout of a reference track, is gatheredbefore writing servo information to a target location. Such informationcan be used during servowriting to reduce the written-in runout of servoinformation written to a target location such as servo informationwritten to the final servo wedges of a target track.

In one approach, this information is gathered by examining a number ofparameters over a number of revolutions. These parameters can includethe distance between the desired track centerline of a reference trackand the apparent centerline obtained from demodulating the burstpattern. Various methods, known to those of ordinary skill in the art,can be used to determine this distance. Examples of such methods andother related systems and methods can be found in U.S. Pat. No.6,097,565 to Sri-Jayantha et al., entitled: “Repeatable runout freeservo architecture in direct access storage device;” U.S. Pat. No.6,061,200 to Shepherd et al., entitled “In-drive correction of servopattern errors;” U.S. Pat. No. 5,978,169 to Woods et al., entitled“Repeated servo runout error compensation in a disc drive;” U.S. Pat.No. 6,310,742 to Nazarian et al., entitled “Repeatable runoutcancellation in sectored servo disk drive positioning system;” Morris,et al., U.S. Pat. No. 6,449,116, “Compression and Storage of Written-InCompensation Tables in an Embedded Servo Disc Drive”; Morris et al.,U.S. Pat. No. 6,069,764 “Compensation for Repeatable Run-Out Error”;Chen et al., U.S. Pat. No. 6,437,936 “Repeatable Runout CompensationUsing A Learning Algorithm with Scheduled Parameters”, and Bi et al.,U.S. Pat. No. 6,563,663 “Repeatable Runout Compensation Using IterativeLearning Control in A Disc Storage System”, the disclosures of which areincorporated by reference herein.

Information regarding this determined distance will be referred toherein as Wedge Offset Reduction Field (WORF) data. WORF data can beapplied to a servo controller to reduce the runout that would otherwisebe written into target tracks during the servowriting process. WORF datacan be, for example, a digital number for a servo wedge on a givenreference track that includes an amount that should be added to, orsubtracted from, the PES value for that wedge on that track obtainedfrom demodulating the bursts. The servo can use the WORF value, add thevalue to the computed PES, and presumably follow a more accurate track.Applying the WORF data to the PES observed from the reference track canhelp to more accurately position the write element during theservowriting process in order to reduce runout written into tracks onthe target disk or track.

WORF data can be obtained, for example, by observing several revolutionsof the PES and combining the PES with servo loop characteristics toestimate the written-in runout, such as of the reference track. In oneembodiment, the PES can be synchronously averaged and then combined withservo loop characteristics to estimate the written-in runout. Variousmeasurements can be made, as are known in the art, to characterize servoloop characteristics. Because the servo typically suffers bothsynchronous and non-synchronous runout, any measurement intended todetermine the synchronous runout will be affected by the non-synchronousrunout. If many revolutions of PES data are synchronously averaged, theeffects of the non-synchronous runout can lessen, leaving substantiallyonly synchronous runout. This allows better determination of, andsubsequent elimination of, the written-in runout.

In one embodiment in accordance with the present invention, additionalinformation regarding the written-in runout of the reference disk ortrack, is gathered during revolutions required for the write element tosettle to an acceptable position, or during an attempt to write thefinal wedges. The additional information can be used to update andre-compute any previously determined WORF data or can be used toestablish initial WORF data if WORF data was not used in previousattempts. The new or updated WORF data can be used while writing servoinformation during subsequent revolutions such that the write elementcan be positioned more accurately.

Referring to FIG. 16, there is illustrated a method in accordance withone embodiment of the present invention for re-determining WORF data (ordetermining WORF data if no WORF data has been previously determined) toallow later writing of servo wedges having servo information not writtenand/or trimmed during previous revolutions. After completing arevolution (which can be performed in accordance with the methodillustrated in FIG. 5), it is determined whether all servo informationto be written and/or trimmed during the pass was written and/or trimmed610. If it is determined that all servo information was not writtenand/or trimmed, the number of revolutions can be compared to apredetermined number of revolutions N (step 720). If the number ofrevolutions is not greater than N, the wedges for which servoinformation to-be-written and/or trimmed during the pass has not beenwritten and/or trimmed are determined 730. After the wedges aredetermined, position information observed while attempting to writeand/or trim servo information during the previous revolution can begathered 1620. The information, which can include position-errorinformation such as the PES value observed during the previous passesover the reference pattern, can be written to memory for possible lateruse in determining WORF data.

If the number of passes is greater than N, the wedges for which servoinformation to-be-written and/or trimmed during the pass has not beenwritten and/or trimmed can be determined 740. WORF data can bedetermined in step 1610 using position-error information gathered duringprevious revolutions. For example, position information observed duringthe previous revolutions can be synchronously averaged to re-computeWORF data. In embodiments where WORF data was determined prior tobeginning the pass, the position information observed during therevolutions can be combined with previously determined WORF data. IfWORF data was not determined or used prior to beginning the passes,initial WORF data can be determined at step 1610. After computing orre-computing the WORF data, servo information for the wedges for whichservo information is to be written and/or trimmed can be attempted to bewritten and/or trimmed during a subsequent revolution according to themethod illustrated in FIG. 5 using the WORF data.

Various schemes for determining and applying WORF data can be used inaccordance with embodiments of the present invention. For example, WORFdata can include WORF data determined for individual wedges of thereference track. The WORF data can then be applied on a wedge-by-wedgebasis while writing a target track. In other embodiments, WORF data caninclude WORF data for an entire reference track. The WORF data can thenbe applied while writing a corresponding target track. In yet otherembodiments, WORF data can include WORF data for various circumferentiallocations around a reference track.

The number of revolutions, N, used to determine when to re-compute WORFdata can vary by embodiment and by the needs of various applications. Inone embodiment, for example, the number of revolutions is 4. In otherembodiments, WORF data can be re-computed after a different number ofrevolutions.

The re-computing of the WORF data can be done a number of ways. In oneembodiment, a new WORF value is determined using an iterative solutionapplication gain parameter, α, between zero and one where:New WORF value=old WORF value+α(residual WORF estimate)Since the adaptation gain parameter has a value between zero and one,only a fraction of the derived compensation value is used to adjust thecompensation value used by the servo loop. This causes the servo loop'scompensation value to increase in a controlled manner. Shepherd et al.,U.S. Pat. No. 6,061,200 “In-drive Correction of Servo Pattern Errors”,incorporated herein by reference, describe one example of such aniterative solution, see especially Column 6, lines 34–60. in thatdocument, the quantity referred to here as the “residual WORF estimate”is referred to as “err(t){circle around (×)} kernel” where err(t) isdefined as the tracking error, the kernel is a representation of servoloop dynamics and {circle around (×)} is the convolution operator. Theapplication gain parameter, α, can be frequency dependent.

Other methods of recalculating the WORF values can be done as describedin Morris, et al., U.S. Pat. No. 6,449,116, “Compression and Storage ofWritten-In Compensation Tables in an Embedded Servo Disc Drive”; Morriset al., U.S. Pat. No. 6,069,764 “Compensation for Repeatable Run-OutError”; Chen et al., U.S. Pat. No. 6,437,936 “Repeatable RunoutCompensation Using A Learning Algorithm with Scheduled Parameters”, andBi et al., U.S. Pat. No. 6,563,663 “Repeatable Runout Compensation UsingIterative Learning Control in A Disc Storage System”, which areincorporated herein by reference.

Many features of the present invention can be performed using hardware,software, firmware, or combinations thereof. Consequently, features ofthe present invention may be implemented using a control mechanismincluding one or more processors, a disk controller, or servo controllerwithin or associated with a disk drive (e.g., disk drive 100). Thecontrol mechanism can include a processor, disk controller, servocontroller, or any combination thereof. In addition, various softwarecomponents can be integrated with or within any of the processor, diskcontroller, or servo controller.

Features of the present invention can be implemented in a computerprogram product which is a storage medium (media) having instructionsstored thereon/in which can be used to program a processing system toperform any of the features presented herein. The storage medium caninclude, but is not limited to, any type of disk including floppy disks,optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks,ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices,magnetic or optical cards, nanosystems (including molecular memory ICs),or any type of media or device suitable for storing instructions and/ordata.

Stored on any one of the computer readable medium (media), the presentinvention can include software for controlling both the hardware of thegeneral purpose/specialized computer, microprocessor, or disk drive, andfor enabling the computer or microprocessor to interact with a humanuser or other mechanism utilizing the results of the present invention.Such software and/or firmware may include, but is not limited to,application code, device drivers, operating systems, executionenvironments/containers.

Features of the invention may also be implemented exclusively orprimarily in hardware using, for example, hardware components such asapplication specific integrated circuits (ASICs). Implementation of thehardware state machine so as to perform the functions described hereinwill be apparent to persons skilled in the relevant art(s).

One embodiment may be implemented using a conventional general purposeor a specialized digital computer or microprocessor(s) programmedaccording to the teachings of the present disclosure, as will beapparent to those skilled in the computer art. Appropriate softwarecoding can readily be prepared by skilled programmers based on theteachings of the present disclosure, as will be apparent to thoseskilled in the software art. The invention may also be implemented bythe preparation of integrated circuits or by interconnecting anappropriate network of conventional component circuits, as will bereadily apparent to those skilled in the art.

It will be apparent to those of ordinary skill in the art that variousmethods and operations described herein can be combined into additionalmethods and operations, all considered within the scope of the presentinvention. For example, the concept of multiple thresholds for differentdirections of position-error of the write element can be combined withthe concept of multiple thresholds for determining whether to write andtrim, write or trim, or neither write nor trim. The direction ofposition-error coupled with the amount of position-error can be used todetermine what operation to perform.

Although various embodiments of the present invention, includingexemplary and explanatory methods and operations, have been described interms of multiple discrete steps performed in turn, the order of thedescriptions should not necessarily be construed as to imply that theembodiments are order dependent. Where practicable for example, variousoperations can be performed in alternative orders than those presentedherein.

The foregoing description of preferred embodiments of the presentinvention has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Many modifications andvariations will be apparent to one of ordinary skill in the relevantarts. The embodiments were chosen and described in order to best explainthe principles of the invention and its practical application, therebyenabling others skilled in the art to understand the invention forvarious embodiments and with various modifications that are suited tothe particular use contemplated. It is intended that the scope of theinvention be defined by the claims and their equivalents.

1. A system to write a target track of servo information to a rotatablestorage medium using a reference track of servo information, comprising:a write element adapted to write servo information to the rotatablestorage medium; a control mechanism adapted to control writing of servoinformation to the rotatable storage medium, the control mechanism to:enable writing of servo information to the target track of the rotatablestorage medium by the write element during one or more revolutions ofthe rotatable storage medium, wherein writing servo information isinhibited when a location of the write element is not within a firstthreshold distance of a desired location, and wherein writing servoinformation is resumed after the location of the write element isdetermined to be within a second threshold distance; determine WORF datafrom the reference track of servo information during the one or morerevolutions; and enable writing of servo information not written to thetarget track during the one or more revolutions during a subsequentrevolution using the WORF data.
 2. The system of claim 1, wherein firstand second threshold distance are the same.
 3. The system of claim 1,wherein first and second threshold distance are different.
 4. The systemof claim 1, wherein the location is a predicted location.
 5. The systemof claim 1, where the location is a measured location.
 6. The system ofclaim 1, wherein the reference track of servo information is located onthe rotatable storage medium.
 7. The system of claim 1, wherein thereference track of servo information includes a plurality of servowedges and wherein the control mechanism determines WORF data for eachof the servo wedges.
 8. The system of claim 1, wherein the controlmechanism determines WORF data from the reference track by determiningposition information as a read element reads the reference track ofservo information during the one or more revolutions.
 9. The system ofclaim 1, wherein the control mechanism determines WORF data from thereference track by combining position information determined as a readelement reads the reference track of servo information during the one ormore revolutions with WORF data determined prior to the one or morerevolutions.
 10. The system of claim 1, wherein writing of servoinformation includes at least one of writing servo information andtrimming servo information.
 11. The system of claim 1, wherein thecontrol mechanism is further to: write to memory an indication of servoinformation that was written to the target track during the one or morerevolutions.
 12. The system of claim 1, wherein the control mechanism isfurther to: increase the second threshold distance when the target trackof servo information is not written after a number of revolutions of therotatable storage medium.
 13. The system of claim 1, wherein the controlmechanism is further to: increase the first threshold distance when thetarget track of servo information is not written after a number ofrevolutions of the rotatable storage medium.
 14. The system of claim 1,wherein the control mechanism includes at least one of a diskcontroller, a microprocessor, and a servo controller.
 15. A system towrite a target track of servo information to a rotatable storage mediumhaving a plurality of servo wedges, comprising: a reference track ofservo information; a head adapted to read the reference track of servoinformation; a write element adapted to write servo information to therotatable storage medium using the reference track of servo information;a control mechanism adapted to control writing of servo information tothe rotatable storage medium, the control mechanism to: determine aposition error signal generated as the head reads the reference track ofservo information; inhibit writing of servo information to the targettrack by the write element during one or more revolutions of therotatable storage medium when a value of the position error signalexceeds a first threshold value; determine at least a second value ofthe position error signal during the one or more revolutions whenwriting is inhibited, wherein writing can be resumed during the one ormore revolutions for the target track after the second value is within asecond threshold value; determine WORF data from the reference track ofservo information during the one or more revolutions; and enable writingof servo information not written to the target track during the one ormore revolutions during a subsequent revolution using the WORF data. 16.The system of claim 15, wherein first and second threshold value are thesame.
 17. The system of claim 15, wherein first and second thresholdvalue are different.
 18. The system of claim 15, wherein the controlmechanism determines WORF data from the reference track of servoinformation by determining position information from the position errorsignal generated as the read element reads the reference track of servoinformation during the one or more revolutions.
 19. The system of claim15, wherein the control mechanism determines WORF data from thereference track of servo information by combining position informationdetermined from the position error signal generated as the read elementreads the reference track of servo information during the one or morerevolutions with WORF data determined prior to the one or morerevolutions.
 20. A system to write a target track of servo informationto a rotatable storage medium having a plurality of servo wedges using areference track of servo information, comprising: a write elementadapted to write servo information to the rotatable storage medium; acontrol mechanism adapted to control writing of servo information to therotatable storage medium, the control mechanism to: determine a firstdistance between a first location of the write element and a firstdesired write location during one or more revolutions of the rotatablestorage medium; inhibit writing of servo information for the targettrack during the one or more revolutions when the first distance exceedsa first threshold distance, wherein at least a second distance between asecond location of the write element and a second desired write locationis determined when writing is inhibited, whereby writing can be resumedfor the target track when the second distance is within a secondthreshold distance; determine WORF data from the reference track ofservo information during the one or more revolutions; and enable writingof servo information not written to the target track during the one ormore revolutions during a subsequent revolution using the WORF data. 21.A system to servowrite a target track of a rotatable storage mediumhaving a plurality of servo wedges using a reference track of servoinformation, comprising: a write element adapted to write servoinformation to the rotatable storage medium; a control mechanism adaptedto control writing of servo information to the rotatable storage medium,the control mechanism to: determine a distance between a desiredlocation of servo information for each of the servo wedges and alocation of the write element during one or more revolutions of therotatable storage medium; determine whether the distance is greater thana threshold distance; inhibit writing of servo information for each ofthe servo wedges for which the distance is greater than the thresholddistance during the one or more revolutions; determine WORF data fromthe reference track of servo information during the one or morerevolutions; enable writing of servo information for each of the servowedges for which writing was inhibited during the one or morerevolutions during a subsequent revolution using the WORF data.
 22. Asystem to servowrite a rotatable storage medium having a plurality ofservo wedges using a reference track of servo information, comprising: awrite element adapted to write servo information to the rotatablestorage medium; a control mechanism adapted to control writing of servoinformation to the rotatable storage medium, the control mechanism, foreach of the servo wedges, to: determine a distance between a desiredlocation of servo information to be written for the servo wedge and alocation of the write element during one or more revolutions of therotatable storage medium; determine whether the distance is greater thana threshold distance; inhibit writing of servo information for the servowedge during the one or more revolutions when the distance is greaterthan the threshold distance; determine WORF data from the referencetrack of servo information during the one or more revolutions; andenable writing of servo information for the servo wedge during asubsequent revolution using the WORF data if writing servo informationfor the servo wedge was inhibited during the one or more revolutions.23. A system to servowrite a target track of a rotatable storage mediumhaving a plurality of servo wedges using a reference track of servoinformation, comprising: a write element adapted to write servoinformation to the rotatable storage medium; a control mechanism adaptedto control writing of servo information to the rotatable storage medium,the control mechanism to: determine a distance between a desiredlocation of servo information for each of the servo wedges at the targettrack and a location of the write element during one or more revolutionsof the rotatable storage medium; determine whether the distance isgreater than a threshold distance; inhibit writing of servo informationfor each of the servo wedges at the target track for which the distanceis greater than the threshold distance during the one or morerevolutions; determine WORF data from the reference track of servoinformation during the one or more revolutions; enable writing of servoinformation for each of the servo wedges at the target track for whichwriting was inhibited during the one or more revolutions during asubsequent revolution using the WORF data.
 24. A system to servowrite atarget track of a rotatable storage medium having a plurality of servowedges using a reference track of servo information, comprising: a writeelement adapted to write servo information to the rotatable storagemedium; a control mechanism adapted to control writing of servoinformation to the rotatable storage medium, the control mechanism, foreach of the servo wedges, to: determine a distance between a desiredlocation of servo information to be written for the servo wedge at thetarget track and a location of the write element during one or morerevolutions of the rotatable storage medium; determine whether thedistance is greater than a threshold distance; and inhibit writing ofservo information to the servo wedge at the target track during the oneor more revolutions when the distance is greater than the thresholddistance; determine WORF data from the reference track of servoinformation during the one or more revolutions; and enable writing ofservo information for the servo wedge at the target track during asubsequent revolution using the WORF data if writing servo informationfor the servo wedge was inhibited during the one or more revolutions.25. A system to perform a servowriting pass for a rotatable storagemedium having a plurality of servo wedges using a reference track ofservo information, comprising: a write element adapted to write servoinformation to the rotatable storage medium; a control mechanism adaptedto control writing of servo information to the rotatable storage medium,the control mechanism to: determine a distance between a desiredlocation of servo information to be written during the servowriting passfor each of the servo wedges and a location of the write element duringone or more revolutions of the rotatable storage medium; determinewhether the distance is greater than a threshold distance; inhibitwriting of servo information to be written during the servowriting passfor each of the servo wedges for which the distance is greater than thethreshold distance during the one or more revolutions; determine WORFdata from the reference track of servo information during the one ormore revolutions; enable writing of servo information to be writtenduring the servowriting pass for each of the servo wedges at the targettrack for which writing was inhibited during the one or more revolutionsduring a subsequent revolution using the WORF data.
 26. A system toperform a servowriting pass for a rotatable storage medium having aplurality of servo wedges using a reference track of servo information,comprising: a write element adapted to write servo information to therotatable storage medium; a control mechanism adapted to control writingof servo information to the rotatable storage medium, the controlmechanism, for each of the servo wedges, to: determine a distancebetween a desired location of servo information to be written for theservo wedge during the servowriting pass and a location of the writeelement during one or more revolutions of the rotatable storage medium;determine whether the distance is greater than a threshold distance;inhibit writing of servo information to be written for the servo wedgeduring the servowriting pass during the one or more revolutions when thedistance is greater than the threshold distance; determine WORF datafrom the reference track of servo information during the one or morerevolutions; and enable writing of servo information to be written forthe servo wedge during the servowriting pass during a subsequentrevolution using the WORF data if writing servo information to bewritten for the servo wedge during the servowriting pass was inhibitedduring the one or more revolutions.
 27. A system to write a target trackof servo information to a rotatable storage medium using a referencetrack of servo information, comprising: a write element adapted to writeservo information to the rotatable storage medium; a control mechanismadapted to control writing of servo information to the rotatable storagemedium, the control mechanism to: enable writing of servo information tothe target track of the rotatable storage medium by the write elementduring one or more revolutions of the rotatable storage medium, whereinwriting servo information is inhibited when a predicted location of thewrite element is not within a first threshold distance of a desiredlocation, and wherein writing servo information is resumed after thepredicted location of the write element is determined to be within asecond threshold distance; determine WORF data from the reference trackof servo information during the one or more revolutions; and enablewriting of servo information not written to the target track during theone or more revolutions during a subsequent revolution using the WORFdata.
 28. The system of claim 27, wherein first and second thresholddistance are the same.
 29. The system of claim 27, wherein first andsecond threshold distance are different.
 30. The system of claim 27,wherein the reference track of servo information is located on therotatable storage medium.
 31. The system of claim 27, wherein thereference track of servo information includes a plurality of servowedges and wherein the control mechanism determines WORF data for eachof the servo wedges.
 32. The system of claim 27 position information asa read element reads the reference track of servo information during theone or more revolutions.
 33. The system of claim 27, wherein the controlmechanism determines WORF data from the reference track by combiningposition information determined as a read element reads the referencetrack of servo information during the one or more revolutions with WORFdata determined prior to the one or more revolutions.
 34. The system ofclaim 27, wherein writing of servo information includes at least one ofwriting servo information and trimming servo information.
 35. The systemof claim 27 wherein the control mechanism is further to: write to memoryan indication of servo information that was written to the target trackduring the one or more revolutions.
 36. The system of claim 27, whereinthe control mechanism is further to: increase the second thresholddistance when the target track of servo information is not written aftera number of revolutions of the rotatable storage medium.
 37. The systemof claim 27, wherein the control mechanism includes at least one of adisk controller, a microprocessor, and a servo controller.